A spreadsheet is a computer application that simulates a paper accounting worksheet. A spreadsheet displays multiple cells that together make up a grid consisting of rows and columns, each cell containing alphanumeric text, numeric values or formulas. A formula defines how the content of that cell is to be calculated from the contents of any other cell (or combination of cells) each time any cell is updated. Spreadsheets are frequently used for financial information because of their ability to re-calculate the entire sheet automatically after a change to a single cell is made.
These aspects of a spreadsheet allow it to be used for very advanced calculations. For example, the values of one or more cells may be determined by a complex set of formulas involving multiple dependencies on the values in other cells (which may in turn be determined by different formulas). Additionally, a spreadsheet may be used by multiple users, who are all making changes to the values and/or formulas, possibly without notifying one another.
With the increasing complexity of the calculations being performed using a spreadsheet, the likelihood of an error being made during modification of spreadsheet values or formulas increases greatly. Since the calculations are complex and the user is presented only with the end result (i.e., multiple steps in a calculation are performed without displaying intervening results) it may be difficult for the user to detect an error in the end results. The user is typically left with no way to validate the results other than manual calculation of the output values. This manual calculation may be exceedingly difficult and time consuming.